#ifndef _VN_TEXT_H_
#define _VN_TEXT_H_

#include <string>
#include "..\Math\Vector2.h"
#include "Scale.h"
#include "Color.h"
#include "Rect.h"

namespace vn
{
	class Text
	{
	public:
		Text(void){}
		virtual ~Text(void){}

		virtual void setAngle(float p_angle)							= 0;
		virtual void setScale(const vn::Scale& p_scale)					= 0;
		virtual void setScale(float x, float y)							= 0;
		virtual void setPosition(const vn::Vector2& p_position)			= 0;
		virtual void setPosition(float x, float y)						= 0;
		virtual void setOrigin(const vn::Vector2& p_origin)				= 0;
		virtual void setOrigin(float x, float y)						= 0;
		virtual void setColor(const vn::Color& p_color)					= 0;
		virtual void setString(const std::string&)						= 0;
		virtual void setDoRender(bool p_value)							= 0;

		virtual const vn::Vector2 getPosition() const		= 0;
		virtual const vn::Scale getScale() const			= 0;
		virtual const float getAngle() const				= 0;
		virtual const vn::Vector2 getOrigin() const			= 0;
		virtual const vn::Color getColor() const			= 0;
		virtual const vn::FloatRect getLocalBounds() const	= 0;
	};
}
#endif // _VN_TEXT_H_